// 加载环境配置文件
import "./config/dotenv";

import express, { Express } from "express";
const app: Express = express();

// 第三方中间件
import BodyParser from "body-parser";
import cookieParser from "cookie-parser";
app
  // 使用 body-parser 中间件来解析 application/json 格式的请求体
  .use(BodyParser.json())
  // 使用 body-parser 中间件来解析 application/x-www-form-urlencoded 格式的请求体
  .use(BodyParser.urlencoded({ extended: true }))
  // 解析 text/plain 格式的请求体
  .use(BodyParser.text())
  // 解析 cookie
  .use(cookieParser())
  .use(express.json());

// 日志管理
import log from "./middles/log";
app.use(log);

// 自定义中间件
app
  .use(require("./middles/cross").default)
  .use(require("./middles/auth").default);

// 静态文件托管, express.static 里面的路径相对于根目录
app.use("/public", express.static("./public"));

// 路由
app.use("/todo", require("./router").default);

app.listen(process.env.PORT, () => {
  // 连接数据库
  // require("./mongoose/mongoose").default.start();
  // 成功开启服务
  console.log(`Server Is Running At http://localhost:${process.env.PORT}/`);
});
